feat(codex): add native hooks integration#899
feat(codex): add native hooks integration#899sf-jin-ku wants to merge 16 commits intortk-ai:developfrom
Conversation
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
06e614b to
93537d3
Compare
…by-hooks # Conflicts: # src/hooks/init.rs # src/main.rs
|
This is a solid improvement! One important gap still seems unresolved: That means after this PR, a Codex user can run
|
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
Thanks! It has been fixed! |
|
@sf-jin-ku did you verify that Codex actually resolves the I tried this branch and it seems this is a Codex limitation that See issue on Codex here: openai/codex#6038 A workaround could be to just inline the contents of |
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
|
@rolandkakonyi addressed in e633de6. I changed the Codex install path so it no longer relies on That means global |
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
|
@aeppling quick note on the pending CLAassistant check: the only unsigned committer appears to be Also, If the implementation looks good otherwise, could you bypass/ignore the CLAassistant pending state for this PR and include it in a later release batch instead of tying it to |
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
Signed-off-by: Jin Ku <jin.ku@sendbird.com>
|
this looks good. one thing i was wondering about is the rewrite-miss path. from the PR it looks like commands that i’ve been testing a local codex hook prototype around the same idea, and i ran into a couple cases where do you think there’s eventually room for a lighter fallback for some rewrite misses before leaving the original command unchanged? |
Summary
PreToolUseintegration viartk hook codexrtk init --codexto patch.codex/config.tomland.codex/hooks.jsonCODEX_HOMEfor global installsProblem
rtk init --codexwas prompt-only. It wroteRTK.mdand patchedAGENTS.md, but it did not install Codex lifecycle hooks, so Codex had no hard guardrail to route supported raw Bash commands throughrtk.What changed
Hook runtime
rtk hook codexget_rewritten()permissionDecision: "deny"with the exactrtk ...replacementrtkcommandsCodex install / uninstall / show
rtk init --codexnow patches:RTK.mdAGENTS.md.codex/config.toml.codex/hooks.jsonfeatures.codex_hooks = truePreToolUsematcher group forBashrtk init --show --codexnow reports local/global Codex hook statertk init --codex --uninstallnow supports local uninstallcodex_hooks = truein place on uninstall, but remove RTK-managed hook entriesCompatibility / edge cases
CODEX_HOMEfor global Codex path resolution instead of hardcoding~/.codex.codexinstalls still depend on Codex project trustsrc/hooksandhooks/codexTest plan
cargo test --allcargo build && RTK=target/debug/rtk bash hooks/codex/test-rtk-rewrite.shNotes
Codex currently does not support transparent
updatedInputrewrites forPreToolUse, so this integration uses deny-and-retry instead of the Claude/Cursor transparent rewrite flow.